home *** CD-ROM | disk | FTP | other *** search
- unit Main;
-
- interface
-
- uses WinTypes, WinProcs, SysUtils, Classes, Graphics, Forms, Controls, Menus,
- StdCtrls, Dialogs, Buttons, Messages, ExtCtrls, openMsg, MXMAILX;
-
- {$I mailxdef.int}
-
- type
- TMainForm = class(TForm)
- MainMenu1: TMainMenu;
- Panel1: TPanel;
- StatusLine: TPanel;
- File1: TMenuItem;
- Panel2: TPanel;
- Window1: TMenuItem;
- N1: TMenuItem;
- FileExitItem: TMenuItem;
- WindowCascadeItem: TMenuItem;
- WindowTileItem: TMenuItem;
- WindowArrangeItem: TMenuItem;
- InboxCmd: TMenuItem;
- NewMessageCmd: TMenuItem;
- WindowMinimizeItem: TMenuItem;
- SpeedPanel: TPanel;
- OpenBtn: TSpeedButton;
- CopyBtn: TSpeedButton;
- ExitBtn: TSpeedButton;
- MXForm1: TMXForm;
- MXSession1: TMXSession;
- procedure FormCreate(Sender: TObject);
- procedure WindowCascadeItemClick(Sender: TObject);
- procedure UpdateMenuItems(Sender: TObject);
- procedure WindowTileItemClick(Sender: TObject);
- procedure WindowArrangeItemClick(Sender: TObject);
- procedure FileCloseItemClick(Sender: TObject);
- procedure FileExitItemClick(Sender: TObject);
- procedure InboxCmdClick(Sender: TObject);
- procedure NewMessageCmdClick(Sender: TObject);
- procedure WindowMinimizeItemClick(Sender: TObject);
- procedure FormDestroy(Sender: TObject);
- procedure OpenBtnClick(Sender: TObject);
- procedure CopyBtnClick(Sender: TObject);
- private
- { Private declarations }
- procedure CreateMDIChild(const Name: string);
- procedure ShowHint(Sender: TObject);
- public
- { Public declarations }
- end;
-
- var
- MainForm: TMainForm;
-
- implementation
-
- {$R *.DFM}
-
- uses ChildWin, Mailsys3;
-
- procedure TMainForm.FormCreate(Sender: TObject);
- var
- MailSystem: TMailSystem;
- begin
- MailSystem:=TMailSystem.Create(Self);
- MailSystem.ShowModal;
- MailSystem.free;
- MXSession1.Logon:=TRUE;
- if MXSession1.Logon<>TRUE then PostQuitMessage(0);
-
- Application.OnHint := ShowHint;
- Screen.OnActiveFormChange := UpdateMenuItems;
- end;
-
- procedure TMainForm.ShowHint(Sender: TObject);
- begin
- StatusLine.Caption := Application.Hint;
- end;
-
- procedure TMainForm.CreateMDIChild(const Name: string);
- var
- Child: TMDIChild;
- begin
- { create a new MDI child window }
- Child := TMDIChild.Create(Application);
- Child.Caption := Name;
- end;
-
- procedure TMainForm.FileCloseItemClick(Sender: TObject);
- begin
- if ActiveMDIChild <> nil then
- ActiveMDIChild.Close;
- end;
-
- procedure TMainForm.InboxCmdClick(Sender: TObject);
- begin
- { save current file (ActiveMDIChild points to the window) }
- CreateMDIChild('Message Inbox');
- end;
-
- procedure TMainForm.NewMessageCmdClick(Sender: TObject);
- begin
- { save current file under new name }
- CopyBtnClick(Self);
- end;
-
- procedure TMainForm.FileExitItemClick(Sender: TObject);
- begin
- Close;
- end;
-
- procedure TMainForm.WindowCascadeItemClick(Sender: TObject);
- begin
- Cascade;
- end;
-
- procedure TMainForm.WindowTileItemClick(Sender: TObject);
- begin
- Tile;
- end;
-
- procedure TMainForm.WindowArrangeItemClick(Sender: TObject);
- begin
- ArrangeIcons;
- end;
-
- procedure TMainForm.WindowMinimizeItemClick(Sender: TObject);
- var
- I: Integer;
- begin
- { Must be done backwards through the MDIChildren array }
- for I := MDIChildCount - 1 downto 0 do
- MDIChildren[I].WindowState := wsMinimized;
- end;
-
- procedure TMainForm.UpdateMenuItems(Sender: TObject);
- begin
- WindowCascadeItem.Enabled := MDIChildCount > 0;
- WindowTileItem.Enabled := MDIChildCount > 0;
- WindowArrangeItem.Enabled := MDIChildCount > 0;
- WindowMinimizeItem.Enabled := MDIChildCount > 0;
- end;
-
- procedure TMainForm.FormDestroy(Sender: TObject);
- begin
- Screen.OnActiveFormChange := nil;
- end;
-
- procedure TMainForm.OpenBtnClick(Sender: TObject);
- begin
- CreateMDIChild('Message Inbox');
- end;
-
- procedure TMainForm.CopyBtnClick(Sender: TObject);
- var
- Child: TMsgForm;
- begin
- Child:=TMsgForm.Create(Application);
- Child.MXMessage1.Action:=ACTION_NEW;
- Child.MXMessage1.WorkingMsg:=wtCOMPOSE;
- Child.btnReply.Enabled:=FALSE;
- Child.btnForward.Enabled:=FALSE;
- Child.szTime.Enabled:=FALSE;
- Child.szMessageID.Enabled:=FALSE;
- Child.szOriginator.Enabled:=FALSE;
- Child.szAttachList.Enabled:=FALSE;
- end;
-
- end.
-